Demonstration of a Hardware Reference - Counting Heap y Technical Report 401 , Revised
نویسندگان
چکیده
A hardware self-managing heap memory (RCM) for languages like LISP, SMALLTALK, and JAVA has been designed, built, tested and benchmarked. On every pointer write from the processor, reference-counting transactions are performed in real time within this memory, and garbage cells are reused without processor cycles. A processor allocates new nodes simply by reading from a distinguished location in its address space. The memory hardware also incorporates support for off-line, multiprocessing, mark-sweep garbage collection. Performance statistics are presented from a partial implementation of SCHEME over five different memory models and two garbage collection strategies, from main memory (no access to RCM) to a fully operational RCM installed on an external bus. The performance of the RCM memory is more than competitive with main memory. CR categories and Subject Descriptors: E.2 [Data Storage Representations]: Linked representations; D.4.2 [Storage Management]: Allocation/Deallocation strategies; B.3.2 [Memory Structures]: Design Styles—primary memory, shared memory; C.1.2 [Processor Architectures]: Multiple Data Stream Architectures (Multiprocessors)—Parallel processors; D.1.1 [Programming Techniques]: Applicative (Functional) Programming Techniques; B.5.1 [Register-transfer-level Implementation]: Design— Memory design. General Term: Performance. Additional
منابع مشابه
An Implementation of an Applicative File System ? Technical Report 354 ? ? Brian
A purely functional le system has been built on top of pure Scheme. It provides persistent structures and massive storage expected of le systems, without explicit side-e ects like read and write. The le system becomes an additional, lazy argument to programs that would read from it, and an additional result from functions that would alter it. Functional programming on lazy structures replaces i...
متن کاملPermission Accounting in Separation Logic ( extended abstract )
Separation logic began by describing total separation between the heap space used by separate parts of a program. It has moved on to consider how total and partial permissions to access heap elements can be transferred between concurrent threads. The roots of the new approach are in Boyland’s [3] demonstration of the utility of fractional permissions in reasoning about programs. We add the noti...
متن کاملHeap Garbage Collection with Reference Counting
In algorithms based on reference counting, a garbage-collection decision has to be made whenever a pointer x→ y is about to be destroyed. At this time, the node y may become dead even if y’s reference count is not zero. This is because y may belong to a piece of cyclic garbage. Some aggressive collection algorithms will put y on the list of potential garbage regardless of y’s reference count. L...
متن کاملActive Memory Processor: A Hardware Garbage Collector for Real-Time Java Embedded Devices
Java possesses many advantages for embedded system development, including fast product deployment, portability, security, and a small memory footprint. As Java makes inroads into the market for embedded systems, much effort is being invested in designing real-time garbage collectors. The proposed garbage-collected memory module, a bitmap-based processor with standard DRAM cells is introduced to...
متن کاملIn Letrec
16 n indicating the number of garbage collections performed during the reduction. Thus-Red runs the program in minimal space and does not improve its performance when supplying more space. In contrast to this, the performance of Lisa critically depends on the available heap-space, with run-times by factor of about three higher than-Red with minimal heap-size, and falling below the run-time of-R...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1997